home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 8 / The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO / g_quake / server~1.zip / _SKIN.QC < prev    next >
Text File  |  1996-10-04  |  6KB  |  139 lines

  1. /*
  2. **
  3. ** _skin.qc (Skin Code, 1.2)
  4. **
  5. ** Copyright (C) 1996 Johannes Plass
  6. ** 
  7. ** This program is free software; you can redistribute it and/or modify
  8. ** it under the terms of the GNU General Public License as published by
  9. ** the Free Software Foundation; either version 2 of the License, or
  10. ** (at your option) any later version.
  11. ** 
  12. ** This program is distributed in the hope that it will be useful,
  13. ** but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15. ** GNU General Public License for more details.
  16. **
  17. ** You should have received a copy of the GNU General Public License
  18. ** along with this program; if not, write to the Free Software
  19. ** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  20. ** 
  21. ** Author:   Johannes Plass (plass@dipmza.physik.uni-mainz.de)
  22. **
  23. */
  24.  
  25. /*
  26. **  Please note that this file is based on Dennis Noordsij's
  27. **  (lnoordsi@inter.NL.net) Multiskin QuakeC patch. 
  28. **  Please visit Dennis Noordsij's QuakeC page at 
  29. **     http://web.inter.NL.net/users/L.J.Noordsij/qc.htm
  30. **  for further information on Multiskin and how to install it on the
  31. **  client side (that is, how to use it as a player).
  32. **  //#jp#
  33. */
  34.  
  35.  
  36. float max_skin = 18; // = number of skins - 1
  37.  
  38. void(entity player) SkinInfo =
  39. {
  40.    if (!USE_MODULE_SKIN) return;
  41.                // 123456789#123456789#123456789#12345678
  42.    sprint(player,"£");
  43.    sprint(player," Skin");
  44.    sprint(player,      " allows to use other skins.\n");
  45.    sprint(player,"  Type 'help-skin' for help.\n");
  46. };
  47.  
  48. void(entity player) SkinInit =
  49. {
  50.    if (!USE_MODULE_SKIN) return;
  51.    stuffcmd(player,"alias skin-next \"impulse 200\";\n");
  52.    stuffcmd(player,"alias skin-prev \"impulse 201\";\n");
  53.    stuffcmd(player,"alias help-skin \"impulse 202\";\n");
  54. };
  55.  
  56. void(entity player) SkinActiveMessage =
  57. {
  58.    if (!USE_MODULE_SKIN) return;
  59.                // 123456789#123456789#123456789#12345678
  60.    sprint(player,"  Skin          (help-skin)\n");
  61. };
  62.  
  63. void(entity player) SkinHelp =
  64. {
  65.    if (!USE_MODULE_SKIN) return;
  66.                // 123456789#123456789#123456789#12345678
  67.    sprint(player,"Skin:");
  68.    sprint(player,      " allows the use of other skins.\n");
  69.    sprint(player,"To choose a skin use the command\n");
  70.    sprint(player,"'skin-next' or 'skin-prev'.\n");
  71. };
  72.  
  73. void(entity player,float offset) SkinQuietlyUseOtherSkin =
  74. {
  75.    if (!USE_MODULE_SKIN) return;
  76.    player.skin = player.skin + offset;
  77.    if (player.skin <  0      ) player.skin = max_skin;
  78.    if (player.skin > max_skin) player.skin = 0;
  79.  
  80.    SkinSaveSkinInStatusFlag(player);
  81. };
  82.  
  83. void(entity player,float offset) SkinUseOtherSkin =
  84. {
  85.    if (!USE_MODULE_SKIN) return;
  86.    SkinQuietlyUseOtherSkin(player,offset);
  87.    SkinShowCurrentSkin(player);
  88. };
  89.  
  90. void(entity player) SkinShowCurrentSkin =
  91. {
  92.    local string m;
  93.  
  94.    if (!USE_MODULE_SKIN) return;
  95.  
  96.                                         //                        123456789#123456789#123  123456789#123456789#123
  97.         if (player.skin ==  0) m = "\n\nSkin 1:             \n\n\nTop20Skins: Soldier     \nMultiSkin:  Soldier     \n";
  98.    else if (player.skin ==  1) m = "\n\nSkin 2:             \n\n\nTop20Skins: Enforcer    \nMultiSkin:  Duke        \n";
  99.    else if (player.skin ==  2) m = "\n\nSkin 3:             \n\n\nTop20Skins: Toad        \nMultiSkin:  Toad        \n";
  100.    else if (player.skin ==  3) m = "\n\nSkin 4:             \n\n\nTop20Skins: Crusader    \nMultiSkin:  Stormtrooper\n";
  101.    else if (player.skin ==  4) m = "\n\nSkin 5:             \n\n\nTop20Skins: Hell Knight \nMultiSkin:  Maxx        \n";
  102.    else if (player.skin ==  5) m = "\n\nSkin 6:             \n\n\nTop20Skins: Terminator  \nMultiSkin:  Terminator  \n";
  103.    else if (player.skin ==  6) m = "\n\nSkin 7:             \n\n\nTop20Skins: Han Solo    \nMultiSkin:  Judge Dredd \n";
  104.    else if (player.skin ==  7) m = "\n\nSkin 8:             \n\n\nTop20Skins: Hitman      \nMultiSkin:  Camouflaged \n";
  105.    else if (player.skin ==  8) m = "\n\nSkin 9:             \n\n\nTop20Skins: Biosuit     \nMultiSkin:  Picard      \n";
  106.    else if (player.skin ==  9) m = "\n\nSkin 10:            \n\n\nTop20Skins: Delavar     \nMultiSkin:  Wizard      \n";
  107.    else if (player.skin == 10) m = "\n\nSkin 11:            \n\n\nTop20Skins: Predator    \nMultiSkin:  Predator    \n";
  108.    else if (player.skin == 11) m = "\n\nSkin 12:            \n\n\nTop20Skins: C3PO        \nMultiSkin:  Skeleton    \n";
  109.    else if (player.skin == 12) m = "\n\nSkin 13:            \n\n\nTop20Skins: Knight      \nMultiSkin:  Wan-Fu      \n";
  110.    else if (player.skin == 13) m = "\n\nSkin 14:            \n\n\nTop20Skins: Rollins     \nMultiSkin:  Rollins     \n";
  111.    else if (player.skin == 14) m = "\n\nSkin 15:            \n\n\nTop20Skins: Bossk       \nMultiSkin:  He-Man      \n";
  112.    else if (player.skin == 15) m = "\n\nSkin 16:            \n\n\nTop20Skins: Barbarian   \nMultiSkin:  Boba        \n";
  113.    else if (player.skin == 16) m = "\n\nSkin 17:            \n\n\nTop20Skins: Ogre        \nMultiSkin:  Superman    \n";
  114.    else if (player.skin == 17) m = "\n\nSkin 18:            \n\n\nTop20Skins: Zombie      \nMultiSkin:  NYPD Cop    \n";
  115.    else if (player.skin == 18) m = "\n\nSkin 19:            \n\n\nTop20Skins: Moleman     \nMultiSkin:  Women dude  \n";
  116.    else                        m = "";
  117.    centerprint(player,m);
  118. };
  119.  
  120. void(entity player) SkinRestoreSkinFromStatusFlag =
  121. {
  122.    if (!USE_MODULE_SKIN) return;
  123.  
  124.    self.skin = (self.player_status & 63488)/2048;
  125. };
  126.  
  127. void(entity player) SkinSaveSkinInStatusFlag =
  128. {
  129.    if (!USE_MODULE_SKIN) return;
  130.  
  131.    self.player_status = self.player_status - (self.player_status & 63488);
  132.    self.skin = (self.skin & 31);
  133.    self.player_status = self.player_status + 2048 * self.skin;
  134. };
  135.  
  136.  
  137.  
  138.  
  139.